home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / bipl.zip / PROCS.ZIP / BINOCOEF.ICN < prev    next >
Text File  |  1992-09-28  |  956b  |  38 lines

  1. ############################################################################
  2. #
  3. #    File:     binocoef.icn
  4. #
  5. #    Subject:  Procedure for binomial coefficient
  6. #
  7. #    Author:   Ralph E. Griswold
  8. #
  9. #    Date:     September 6, 1992
  10. #
  11. ###########################################################################
  12. #
  13. #  binocoef(n, k) returns the binomial coefficient n over k.  It fails
  14. #  unless 0 <= k <= n.
  15. #
  16. ############################################################################
  17. #
  18. #  Requires:  Large integer arithmetic for all but small values of n and k.
  19. #
  20. ############################################################################
  21. #
  22. #  Links:  factorl
  23. #
  24. ############################################################################
  25.  
  26. link factorl
  27.  
  28. procedure binocoef(n, k)
  29.  
  30.    k := integer(k) | fail
  31.    n := integer(n) | fail
  32.  
  33.    if 0 <= k <= n then 
  34.       return factorl(n) / (factorl(k) * factorl(n - k))
  35.    else fail
  36.  
  37. end
  38.